#pragma once

#include "State.h"
#include "Behaviour.h"

namespace game_engine { namespace library
{

/*!
 * \class TPCidle
 * \brief 
 */
class WIRidle : public game_engine::components::State
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////
private:
    FLOAT32 maxWaitingTime;
    FLOAT32 idleTime;

///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    WIRidle(void);
    WIRidle(game_engine::components::Behaviour *parent, const FLOAT32 max);
    virtual ~WIRidle(void);

    // Others
    void onEnter(void) throw(...);
    void onLoop(const FLOAT32 time) throw(...);

};

}}
